package net.office.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AuthorityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AuthorityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAuthIdIsNull() {
            addCriterion("auth_Id is null");
            return (Criteria) this;
        }

        public Criteria andAuthIdIsNotNull() {
            addCriterion("auth_Id is not null");
            return (Criteria) this;
        }

        public Criteria andAuthIdEqualTo(Integer value) {
            addCriterion("auth_Id =", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdNotEqualTo(Integer value) {
            addCriterion("auth_Id <>", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdGreaterThan(Integer value) {
            addCriterion("auth_Id >", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("auth_Id >=", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdLessThan(Integer value) {
            addCriterion("auth_Id <", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdLessThanOrEqualTo(Integer value) {
            addCriterion("auth_Id <=", value, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdIn(List<Integer> values) {
            addCriterion("auth_Id in", values, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdNotIn(List<Integer> values) {
            addCriterion("auth_Id not in", values, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdBetween(Integer value1, Integer value2) {
            addCriterion("auth_Id between", value1, value2, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthIdNotBetween(Integer value1, Integer value2) {
            addCriterion("auth_Id not between", value1, value2, "authId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdIsNull() {
            addCriterion("auth_group_Id is null");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdIsNotNull() {
            addCriterion("auth_group_Id is not null");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdEqualTo(Integer value) {
            addCriterion("auth_group_Id =", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdNotEqualTo(Integer value) {
            addCriterion("auth_group_Id <>", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdGreaterThan(Integer value) {
            addCriterion("auth_group_Id >", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("auth_group_Id >=", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdLessThan(Integer value) {
            addCriterion("auth_group_Id <", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdLessThanOrEqualTo(Integer value) {
            addCriterion("auth_group_Id <=", value, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdIn(List<Integer> values) {
            addCriterion("auth_group_Id in", values, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdNotIn(List<Integer> values) {
            addCriterion("auth_group_Id not in", values, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdBetween(Integer value1, Integer value2) {
            addCriterion("auth_group_Id between", value1, value2, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthGroupIdNotBetween(Integer value1, Integer value2) {
            addCriterion("auth_group_Id not between", value1, value2, "authGroupId");
            return (Criteria) this;
        }

        public Criteria andAuthCodeIsNull() {
            addCriterion("auth_code is null");
            return (Criteria) this;
        }

        public Criteria andAuthCodeIsNotNull() {
            addCriterion("auth_code is not null");
            return (Criteria) this;
        }

        public Criteria andAuthCodeEqualTo(String value) {
            addCriterion("auth_code =", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeNotEqualTo(String value) {
            addCriterion("auth_code <>", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeGreaterThan(String value) {
            addCriterion("auth_code >", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeGreaterThanOrEqualTo(String value) {
            addCriterion("auth_code >=", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeLessThan(String value) {
            addCriterion("auth_code <", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeLessThanOrEqualTo(String value) {
            addCriterion("auth_code <=", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeLike(String value) {
            addCriterion("auth_code like", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeNotLike(String value) {
            addCriterion("auth_code not like", value, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeIn(List<String> values) {
            addCriterion("auth_code in", values, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeNotIn(List<String> values) {
            addCriterion("auth_code not in", values, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeBetween(String value1, String value2) {
            addCriterion("auth_code between", value1, value2, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthCodeNotBetween(String value1, String value2) {
            addCriterion("auth_code not between", value1, value2, "authCode");
            return (Criteria) this;
        }

        public Criteria andAuthNameIsNull() {
            addCriterion("auth_name is null");
            return (Criteria) this;
        }

        public Criteria andAuthNameIsNotNull() {
            addCriterion("auth_name is not null");
            return (Criteria) this;
        }

        public Criteria andAuthNameEqualTo(String value) {
            addCriterion("auth_name =", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameNotEqualTo(String value) {
            addCriterion("auth_name <>", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameGreaterThan(String value) {
            addCriterion("auth_name >", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameGreaterThanOrEqualTo(String value) {
            addCriterion("auth_name >=", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameLessThan(String value) {
            addCriterion("auth_name <", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameLessThanOrEqualTo(String value) {
            addCriterion("auth_name <=", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameLike(String value) {
            addCriterion("auth_name like", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameNotLike(String value) {
            addCriterion("auth_name not like", value, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameIn(List<String> values) {
            addCriterion("auth_name in", values, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameNotIn(List<String> values) {
            addCriterion("auth_name not in", values, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameBetween(String value1, String value2) {
            addCriterion("auth_name between", value1, value2, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthNameNotBetween(String value1, String value2) {
            addCriterion("auth_name not between", value1, value2, "authName");
            return (Criteria) this;
        }

        public Criteria andAuthPathIsNull() {
            addCriterion("auth_path is null");
            return (Criteria) this;
        }

        public Criteria andAuthPathIsNotNull() {
            addCriterion("auth_path is not null");
            return (Criteria) this;
        }

        public Criteria andAuthPathEqualTo(String value) {
            addCriterion("auth_path =", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathNotEqualTo(String value) {
            addCriterion("auth_path <>", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathGreaterThan(String value) {
            addCriterion("auth_path >", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathGreaterThanOrEqualTo(String value) {
            addCriterion("auth_path >=", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathLessThan(String value) {
            addCriterion("auth_path <", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathLessThanOrEqualTo(String value) {
            addCriterion("auth_path <=", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathLike(String value) {
            addCriterion("auth_path like", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathNotLike(String value) {
            addCriterion("auth_path not like", value, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathIn(List<String> values) {
            addCriterion("auth_path in", values, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathNotIn(List<String> values) {
            addCriterion("auth_path not in", values, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathBetween(String value1, String value2) {
            addCriterion("auth_path between", value1, value2, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthPathNotBetween(String value1, String value2) {
            addCriterion("auth_path not between", value1, value2, "authPath");
            return (Criteria) this;
        }

        public Criteria andAuthStatusIsNull() {
            addCriterion("auth_status is null");
            return (Criteria) this;
        }

        public Criteria andAuthStatusIsNotNull() {
            addCriterion("auth_status is not null");
            return (Criteria) this;
        }

        public Criteria andAuthStatusEqualTo(String value) {
            addCriterion("auth_status =", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusNotEqualTo(String value) {
            addCriterion("auth_status <>", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusGreaterThan(String value) {
            addCriterion("auth_status >", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusGreaterThanOrEqualTo(String value) {
            addCriterion("auth_status >=", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusLessThan(String value) {
            addCriterion("auth_status <", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusLessThanOrEqualTo(String value) {
            addCriterion("auth_status <=", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusLike(String value) {
            addCriterion("auth_status like", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusNotLike(String value) {
            addCriterion("auth_status not like", value, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusIn(List<String> values) {
            addCriterion("auth_status in", values, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusNotIn(List<String> values) {
            addCriterion("auth_status not in", values, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusBetween(String value1, String value2) {
            addCriterion("auth_status between", value1, value2, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthStatusNotBetween(String value1, String value2) {
            addCriterion("auth_status not between", value1, value2, "authStatus");
            return (Criteria) this;
        }

        public Criteria andAuthSortIsNull() {
            addCriterion("auth_sort is null");
            return (Criteria) this;
        }

        public Criteria andAuthSortIsNotNull() {
            addCriterion("auth_sort is not null");
            return (Criteria) this;
        }

        public Criteria andAuthSortEqualTo(Integer value) {
            addCriterion("auth_sort =", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortNotEqualTo(Integer value) {
            addCriterion("auth_sort <>", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortGreaterThan(Integer value) {
            addCriterion("auth_sort >", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("auth_sort >=", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortLessThan(Integer value) {
            addCriterion("auth_sort <", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortLessThanOrEqualTo(Integer value) {
            addCriterion("auth_sort <=", value, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortIn(List<Integer> values) {
            addCriterion("auth_sort in", values, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortNotIn(List<Integer> values) {
            addCriterion("auth_sort not in", values, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortBetween(Integer value1, Integer value2) {
            addCriterion("auth_sort between", value1, value2, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthSortNotBetween(Integer value1, Integer value2) {
            addCriterion("auth_sort not between", value1, value2, "authSort");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdIsNull() {
            addCriterion("auth_create_Id is null");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdIsNotNull() {
            addCriterion("auth_create_Id is not null");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdEqualTo(Integer value) {
            addCriterion("auth_create_Id =", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdNotEqualTo(Integer value) {
            addCriterion("auth_create_Id <>", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdGreaterThan(Integer value) {
            addCriterion("auth_create_Id >", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("auth_create_Id >=", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdLessThan(Integer value) {
            addCriterion("auth_create_Id <", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdLessThanOrEqualTo(Integer value) {
            addCriterion("auth_create_Id <=", value, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdIn(List<Integer> values) {
            addCriterion("auth_create_Id in", values, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdNotIn(List<Integer> values) {
            addCriterion("auth_create_Id not in", values, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdBetween(Integer value1, Integer value2) {
            addCriterion("auth_create_Id between", value1, value2, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateIdNotBetween(Integer value1, Integer value2) {
            addCriterion("auth_create_Id not between", value1, value2, "authCreateId");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeIsNull() {
            addCriterion("auth_create_time is null");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeIsNotNull() {
            addCriterion("auth_create_time is not null");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeEqualTo(Date value) {
            addCriterion("auth_create_time =", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeNotEqualTo(Date value) {
            addCriterion("auth_create_time <>", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeGreaterThan(Date value) {
            addCriterion("auth_create_time >", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("auth_create_time >=", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeLessThan(Date value) {
            addCriterion("auth_create_time <", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("auth_create_time <=", value, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeIn(List<Date> values) {
            addCriterion("auth_create_time in", values, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeNotIn(List<Date> values) {
            addCriterion("auth_create_time not in", values, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeBetween(Date value1, Date value2) {
            addCriterion("auth_create_time between", value1, value2, "authCreateTime");
            return (Criteria) this;
        }

        public Criteria andAuthCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("auth_create_time not between", value1, value2, "authCreateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}